package reflect;

import reflect.annotations.AutoRunMethod;

import java.lang.reflect.Method;

/**
 * 访问注解参数
 */
public class ReflectDemo11 {
    public static void main(String[] args) throws Exception {
        //获取Person类中的sayHello方法上的注解@AutoRunMethod中的参数
        Class cls = Class.forName("reflect.Person");

        Method method = cls.getDeclaredMethod("sayHello");
        if(method.isAnnotationPresent(AutoRunMethod.class)){
            //所有反射对象都支持:getAnnotation方法，获取指定的注解
            AutoRunMethod arm = method.getAnnotation(AutoRunMethod.class);
            //通过注解对象获取对应的参数(方法名与参数名一致)
            int value = arm.value();//获取名为value的参数的值
            System.out.println("value参数的值为:"+value);
        }else{
            System.out.println(method.getName()+":没有被标注");
        }
    }
}
